package com.xdcplus.web.service.wip;

import com.xdcplus.mp.service.BaseService;
import com.xdcplus.pager.vo.PageVO;
import com.xdcplus.web.common.pojo.dto.wip.WipMarkingPrdDTO;
import com.xdcplus.web.common.pojo.dto.wip.WipMarkingPrdFilterDTO;
import com.xdcplus.web.common.pojo.entity.wip.WipMarkingPrd;
import com.xdcplus.web.common.pojo.vo.wip.WipMarkingPrdVO;

import java.util.List;


/**
 * 打标单片/花篮表(WipMarkingPrd)表服务接口层
 *
 * @author Richard.Li
 * @since 2024-08-20 18:49:36
 */
public interface WipMarkingPrdService extends BaseService<WipMarkingPrd, WipMarkingPrd, WipMarkingPrdVO> {

    /**
     * 添加打标单片/花篮表(WipMarkingPrd)
     *
     * @param wipMarkingPrdDTO 打标单片/花篮表(WipMarkingPrdDTO)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveWipMarkingPrd(WipMarkingPrdDTO wipMarkingPrdDTO);

    /**
     * 修改打标单片/花篮表(WipMarkingPrd)
     *
     * @param wipMarkingPrdDTO 打标单片/花篮表(WipMarkingPrdDTO)
     * @return {@link Boolean} 是否成功
     */
    Boolean updateWipMarkingPrd(WipMarkingPrdDTO wipMarkingPrdDTO);

    /**
     * 批量保存或更新打标单片/花篮表(WipMarkingPrd)
     *
     * @param wipMarkingPrdList 打标单片/花篮表(WipMarkingPrdList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatch(List<WipMarkingPrd> wipMarkingPrdList);

    /**
     * 批量保存或更新打标单片/花篮表(WipMarkingPrdDTOList)
     *
     * @param wipMarkingPrdDTOList 打标单片/花篮表(WipMarkingPrdDTOList)
     * @return {@link Boolean} 是否成功
     */
    Boolean saveOrUpdateBatchByDTOList(List<WipMarkingPrdDTO> wipMarkingPrdDTOList);

    /**
     * 删除打标单片/花篮表(WipMarkingPrd)
     *
     * @param id 打标单片/花篮表(WipMarkingPrd)主键
     * @return {@link Boolean} 是否成功
     */
    Boolean deleteWipMarkingPrdLogical(Long id);
    
    Boolean deleteWipMarkingPrdByIds(String ids);

    /**
     * 查询打标单片/花篮表(WipMarkingPrd)
     *
     * @param wipMarkingPrdFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<WipMarkingPrdVO>} 状态信息
     */
    List<WipMarkingPrdVO> queryWipMarkingPrdVOList(WipMarkingPrdFilterDTO wipMarkingPrdFilterDTO);

    /**
     * 查询打标单片/花篮表(WipMarkingPrd)
     *
     * @param wipMarkingPrdFilterDTO 过程状态过滤DTO
     * @return {@link PageVO<WipMarkingPrdVO>} 状态信息
     */
    PageVO<WipMarkingPrdVO> queryWipMarkingPrd(WipMarkingPrdFilterDTO wipMarkingPrdFilterDTO);

    /**
     * 查询一个
     *
     * @param id 打标单片/花篮表(WipMarkingPrd)主键
     * @return {@link WipMarkingPrdVO} 打标单片/花篮表(WipMarkingPrd)信息
     */
    WipMarkingPrdVO queryWipMarkingPrdById(Long id);


}
